package com.starhub.application.agent.service;

import com.starhub.application.agent.dto.AIChatInfo;
import com.starhub.application.agent.result.AIAgentResult;
import com.starhub.application.agent.result.AiChatResult;

import dev.langchain4j.data.message.AiMessage;
import dev.langchain4j.model.output.Response;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import java.io.PrintWriter;

public interface IChatService {
    AIAgentResult initAgentById(Long agentId);

    AIAgentResult initAgentByMark(String identifier);

    AiChatResult chat(AIChatInfo chatInfo);

    SseEmitter chatStream(AIChatInfo chatInfo);

    Response<AiMessage> chatStream(AIChatInfo chatInfo, PrintWriter ioWriter);
}
